import type {SimpleFunction} from "./event.type";

/**
 * setup执行过程中，设置为当前实例的变量
 * @author  韦胜健
 * @date    2021/3/15 16:11
 */

export type TopDesignContext = {
    props: any,                                                                 // 属性
    event: any,                                                                 // 事件
    slots: any,                                                                 // 插槽
    scopeSlots: any,                                                            // 作用域插槽
    isDestroyed: boolean,                                                       // 当前是否已经销毁
    proxy: any,                                                                 // 返回的refer代理对象
    useProvide: (name: string, data: any) => void,                              // 对外导出的provide执行的函数实际上是这个函数
    useHook: <T extends () => any>(fn: T) => { current: ReturnType<T> }         // 调用hook函数
    useBeforeRender: (cb: SimpleFunction) => void,                              // render函数执行之前的钩子函数
    effects: SimpleFunction[],                                                  // setup函数执行需要清理的副作用
}
